/**
 * 
 */
package com.orange.handler.expert;

import java.sql.SQLException;
import java.util.List;

import com.orange.modules.entity.AuthItem;
import com.orange.modules.entity.expert.AuthExpertItemData;
import com.orange.modules.entity.expert.AuthExpertItemMap;

/**
 * @author gaogs
 *
 * 2016-12-15
 */
public interface AuthExpertItemMapService {
	
	/**
	 * 材料评审-保存专家与一级指标的关系
	 * @param list
	 */
	public void saveAuthExpertItemMapList(List<AuthExpertItemMap> list);
	
	/**
	 * 材料评审——根据专家id删除专家信息
	 * @param expertId
	 * @throws SQLException 
	 */
	public void deleteAuthExpertItemMapByExpertId(String expertId,String schoolId) throws SQLException;
	
	/**
	 * 材料评审——根据专家id查询专家绑定的一级指标
	 * @param expertId
	 * @return
	 * @throws SQLException 
	 */
	public List<AuthExpertItemMap> queryAuthExpertItemMapListByExpertId(String expertId,String schoolId) throws SQLException;
	
	/**
	 * 材料评审——根据专家id查询专家绑定的一级指标
	 */
	public AuthExpertItemMap queryAuthExpertItemMapListByExpertId1(String expertId,String schoolId) throws SQLException;

	/**
	 * 根据一级指标查询二级指标或细则等级
	 */
	public List<AuthExpertItemData> queryAuthValueByItemId(String itemId) throws SQLException;
	
	/**
	 * 根据专家id和机构id查询分项id
	 */
	public AuthExpertItemData queryAuthItemsByExpertIdAndSchoolId(String expertId,String schoolId) throws SQLException;
	
	/**
	 * 保存材料评审分项意见记录表
	 */
	public void saveAuthItemExpertData(AuthExpertItemData ai) throws SQLException;
	
	/**
	 * 根据专家id和机构id和一级指标查询详细信息
	 */
	public List<AuthExpertItemData> queryAuthItemInfo(String schoolId,String expertId,String itemId) throws SQLException;
	
	/**
	 * 删除数据
	 */
	public void deleteAuthExpertItemData(String expertId, String type, String itemId, String schoolId) throws SQLException;
	
	/**
	 * 根据一级指标查询二级指标或细则等级
	 */
	public List<AuthExpertItemData> queryAuthAllItem(String itemId) throws SQLException;
	
	/**
	 * 材料评审--根据专家id查询专家组id
	 */
	public AuthExpertItemMap queryAuthExpertGroupByExpertId(String expertId) throws SQLException;
	
	/**
	 * 材料评审--根据专家组id查询绑定的学校机构
	 */
	public List<AuthExpertItemMap> queryAuthSchoolGroupByGroupId(String groupId) throws SQLException;
	
	/**
	 * 材料评审--根据专家组id和学校id查询到绑定的一级指标
	 */
	public AuthExpertItemMap queryAuthItemSchoolByGroupIdAndSchoolId(String groupId, String schoolId) throws SQLException;
	
	/**
	 * 材料评审--根据学校id和一级指标id查询到绑定的专家
	 */
	public AuthExpertItemMap queryAuthExpertByItemIdAndSchoolId(String schoolId, String itemId) throws SQLException;
	
	/**
	 * 材料评审--根据学校id查询所属学校绑定的指标
	 */
	public AuthExpertItemMap queryitemByschoolId(String schoolId) throws SQLException;
	
	/**
	 * 材料评审-- 查询材料评审分项意见记录表填写状态
	 */
	public AuthExpertItemMap queryState(String schoolId, String itemId, String expertId)throws SQLException;
	
	/**
	 * 材料评审-- 查询材料评审分项意见记录表
	 * @throws SQLException 
	 */
	public AuthExpertItemData queryMaterialInfo(String schoolId, String itemId, String expertId) throws SQLException;
	
	/**
	 * 材料评审--更改填写状态
	 */
	public void saveAuthState(AuthExpertItemMap ae);
	
	/**
	 * 材料评审--下载表格统计等级数量
	 * @throws SQLException 
	 */
	public AuthExpertItemData queryNumber(String schoolId, String type, String level) throws SQLException;
	
	/**
	 * 材料评审--根据专家id查询id
	 * @throws SQLException 
	 */
	public AuthExpertItemMap queryGroupIdByExpertId(String expertId) throws SQLException;
	
	/**
	 * 材料评审--根据专家id查询id
	 * @throws SQLException 
	 */
	public AuthExpertItemMap queryGroupIdByExpertId1(String expertId) throws SQLException;
}
